package cn.edu.jsu.nrs.dao;

import java.util.List;
import cn.edu.jsu.nrs.model.User;

public interface UserDao {
	/**
	 * 插入用户对象
	 * 
	 * @param user
	 * @return
	 */
	public int save(User user);

	// 通过用户ID查询用户
	public User queryUserById(int id);

	// 通过用户名，密码，类型查找用户
	public User queryUser(String userName, String password,int isAdmin);

	// 删除用户
	public void delete(User user);

	// 通过id删除用户
	public void deleteById(int id);

	// 更新用户信息
	public void update(User user);

	// 判断邮箱是否存在
	public boolean isExists(String userName);

	// 获得所有用户
	public List<User> queryAllUsers();

	// 用户分页
	public List<User> paging(final int index, final int size,
			final String propertyName);

	public List<User> getListForPage(final String hql, final int beginIndex,
			final int legth);
	
	/**
	 * 
	 * @param beginIndex
	 * @param count
	 * @param userName用户名
	 * @param sord
	 * @param sidx
	 * @return
	 */
	public List<User>  queryUserList(final int beginIndex,final int count,final String userName,final String sord,final String sidx);
	
	public int queryUsersCounts(final String userName);

	// 查询用户记录数
	public int queryUsersCounts();
}
